在進行大量的資料處理時,有時會需要取得符合特定條件的資料,以利後續的觀察與操作,此時就會使用到資料篩選和過濾的技能,今天將以案例搭配 loc[] 函數和大家分享資料篩選技巧,內容包含:
線上課程資訊
程式碼
import pandas as pd
data = {'title':['Simple, Healthy Fall Recipes','Learn to Program with C++',
                 'CSS Fundamentals','HTML Workshop','Planning Your Podcast',
                 'Cake Decorating For Fun '],
        'category':['Lifestyle','Development','Development',
                    'Development','Business','Lifestyle'],
        'price':[20,60,50,20,50,40]}
df = pd.DataFrame(data)
loc[篩選條件] 取得所有符合資料,舉例:篩選 category 為 Development 的資料loc[篩選條件,欄位名稱] 取得符合條件的欄位資料,舉例:篩選 category 為 Development 的 title# 設定篩選條件dev
dev = (df['category'] == 'Development')
print(df.loc[dev])          #所有符合篩選條件的資料
print(df.loc[dev,'title'])  #僅列出符合篩選條件的title
輸出結果:
當有一個篩選條件以上時,需要用到邏輯運算子「And (&)」和「Or ( | )」。
print(df.loc[(df['category'] == 'Development') & (df['price']<60)])  #同時滿足兩個條件
print(df.loc[(df['category'] == 'Development')|(df['price']<60)])   #二則一滿足即可
輸出結果:
  有關 loc[] 函數的操作,在【Day 4|資料結構 - DataFrame 篇】訪問 DataFrame 時有提過,當時主要利用索引值和欄位名稱取得特定資料,此篇則是延伸至篩選條件,操作方法相近。此外,資料篩選其實不只 loc[] 這個方法,在寫文章時發現另一個更簡單的方法 df [篩選條件],可以讓我們少打 loc 三個字母,是個更快速的寫法,有興趣的話,大家可以試試!
  如果有任何不理解、錯誤或其他方法想分享的話,歡迎留言給我!喜歡的話,也歡迎按讚訂閱!我是 Eva,一位正在努力跨進資料科學領域的女子!我們下篇文章見!
【本篇文章將同步更新於個人的 Medium,期待與您的相遇!】